/**
* @file gui_main.h
* @brief gui entry
* @details 
* @author huangbin
* @version V1.0.0
* @date 2025-06-12
* @copyright All documents are copyrighted by Shenzhen Xinlongwei Technology Co., LTD.
*            They may not be used for commercial purposes without permission
*/

#ifndef __GUI_MAIN_H__
#define __GUI_MAIN_H__

/*============================ INCLUDES ======================================*/
#include "arm_2d_helper.h"
#include "arm_2d_disp_adapters.h"

#include "gui_message.h"
#include "gui_core.h"
#include "arm_2d_scene_mainmenu.h"
#ifdef   __cplusplus
extern "C" {
#endif

#if defined(__clang__)
#   pragma clang diagnostic push
#   pragma clang diagnostic ignored "-Wmissing-declarations"
#   pragma clang diagnostic ignored "-Wmicrosoft-anon-tag"
#   pragma clang diagnostic ignored "-Wpadded"
#endif

extern xm_gui_t g_tGUI;

/**
* @brief 获取gui的实例
*/ 
extern xm_gui_t *guiGetInstance(void);
/**
* @brief gui初始化
*/  
extern void xmGuiInit(void);
/**
* @brief 判断给定的点(x,y)是否在矩形内
* @param in region
* @return true 在矩形内，false 不在矩形内
*/      
bool ptInRect(int16_t x,int16_t y,arm_2d_region_t *region);

#if defined(__clang__)
#   pragma clang diagnostic pop
#endif

#ifdef   __cplusplus
}
#endif

#endif
